Network communication end-devices, for instance smartphones, tablets, personal computers, connected watches, or peripherals like printers, have become widely used nowadays. They can exchange data with other communication devices inside a network, for instance a wireless local area network (WLAN) or a Wide Area Network (WAN).
The number of electronic devices comprised in a home environment is increasing significantly. Furthermore, communication end-devices offer more and more features to a user. These features often require complex calculation or large collection of data. As a consequence, the software applications used for monitoring these devices are becoming more complex and are built upon numerous software services (like text to speech or speech to text services, facial recognition, instantaneous translation, and others). These software services are themselves often very intensive in terms of CPU use, memory, reaction time, and can require particular operating conditions to be filled. For instance a particular operating system can sometimes be needed in order to execute a service.
However, not all communication devices in a home environment are very powerful. The home environment often comprises small and cheap devices. Thus, all the needed resources may not be always available on a single device (notably when the device is a simple and cheap device).
A solution to these drawbacks, for running a software application in a non-powerful device, is the use of web services, located on a distant server and called by the software application, instead of using locally located services. However, this solution introduces new drawbacks. Notably, the user has often no control over the server. In particular, the access to the service offered by the distant server may involve the communication of sensitive data to the distant server (like bank account, identification or authentication data, and so on). The user has no guarantee about the way those sensitive data will be exploited, especially by those that should not have access to this data in the first instance.
One other drawback of such a solution is that when the server is accessed by many software applications, its response time may be very long.
So, there's a need to provide a solution that improves, compared to prior art solutions, the experience of a user of a communication device when a software application is executed on the communication device in a home environment.